package com.vipshop.core.base;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.NoRepositoryBean;

import java.io.Serializable;
import java.util.List;

/**
 * 基于jpa的默认jpaRepository实现自己的repository接口
 * NoRepositoryBean 不会创建接口的实例  必须要加这个注解
 *
 * @author sxzku
 * @date 2019-03-10 10:15
 */
@NoRepositoryBean
public interface BaseRepository<T, PrimaryKey extends Serializable> extends JpaRepository<T, PrimaryKey> {

    /**
     * 使用原生sql 查询 list列表
     * @param sql
     * @return
     */
    List<Object[]> listBySQL(String sql);

    /**
     * 使用原生sql 查询 list列表
     * @param sql
     * @param clzss
     * @return
     */
    List<T> findListByNativeSql(String sql, Class<T> clzss);
}
